package com.example.kingdeescan.interfaces;

import android.content.Context;
import android.view.ViewGroup;

import com.example.kingdeescan.enums.DocType;
import com.example.kingdeescan.enums.SearchType;

import androidx.fragment.app.Fragment;

/**
 * author  : zly
 * date    : 2020/7/17 08:44
 * desc    : Fragment的相关操作接口
 */
public interface FragmentService {

    /**
     * 校验单据类型
     * @param context
     *      上下文环境
     * @param container
     *      容器View
     * @param fragment
     *      响应的Fragment
     * @param docType
     *      单据类型值
     * @return
     *      true:单据类型不为空
     *      false:单据类型为空
     */
    boolean validDocType(Context context, ViewGroup container, Fragment fragment, DocType docType);

    /**
     * 校验搜索类型(SearchFragment)
     * @param context
     *      上下文环境
     * @param container
     *      容器View
     * @param fragment
     *      响应的Fragment
     * @param searchType
     *      搜索类型值
     * @return
     *      true:搜索类型不为空
     *      false:搜索类型为空
     */
    boolean validSearchType(Context context, ViewGroup container, Fragment fragment, int searchType);

    /**
     * 未校验的方式调用目标Fragment
     * @param context
     * @param container
     * @param fragment
     */
    void invalidInvokeFragment(Context context, ViewGroup container, Fragment fragment);
}
